package com.kdtech.analyse.news;
import com.kdtech.analyse.AnalyseNews;
import com.kdtech.utils.HtmlCleaner;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

import com.kdtech.crawler.CrawlHTML;
import com.kdtech.entity.crawler.UrlMeta;
import com.kdtech.entity.data.NewsMeta;
import com.kdtech.utils.DateUtils;
import com.kdtech.utils.RegexUtils;
import com.kdtech.utils.StringUtils;
import com.kdtech.utils.HtmlCleaner;

/**
 *	未完成
 * http://finance.stockstar.com/FB2013050500000599.shtml  证券之星
 * 	
 * @author KK
 *
 */
public class StockstarNewsAnalyse implements AnalyseNews {
	
	private static final String[] regex={
		/*
		*		[0-9]*
		*       [a-z]*
		*		[a-z0-9]*
		*       [a-zA-Z0-9]*
		*/		
		
		"http://.*.stockstar.com/[A-Z]+[0-9]+.shtml",
		"http://.*.stockstar.com/.*/[A-Z]+[0-9]+.shtml"
	};	
	
	
	public boolean isDetailPage(String url) {
		return RegexUtils.matchAnyIgnoreCase(url, regex);
	}

	
	public NewsMeta parserHtml(UrlMeta urlMeta) {
		if (urlMeta.getHtml() == null) {
		}		
		NewsMeta news=new NewsMeta();
		String htmltxt=urlMeta.getHtml();
		String url=urlMeta.getUrl();	
		String title=null;
		String content=null;
		String author=null;
		Long date=null;
		Document doc=Jsoup.parse(htmltxt);				
		news.setUrl(url);	
		
		if(url.startsWith("http://pic.stockstar.com/")){
			title =doc.select("title").text();	
			title=StringUtils.substringBefore(title, " - ");
			content=HtmlCleaner.getContentHtml(url,doc.select("div.condetail"));			
			if(content.startsWith("分享到：")){
				content=content.substring("分享到：".length());
			}
			date=DateUtils.matchDate(doc.select("div.intro").text());
		}else{
			title =doc.select("h1").text();	
			content=HtmlCleaner.getContentHtml(url,doc.select("div.article"));			
			
			/*
			 * 作者
			 */
			String authorStr=null;
			authorStr=doc.select("div.source").text();
			author=StringUtils.substringAfterLast(authorStr, "来源：");
			if (StringUtils.isBlank(author)) {
				author=StringUtils.substringAfter(authorStr, " ");
				author=StringUtils.substringAfter(author, " ");
			}
			if(StringUtils.isBlank(author)){
				author=StringUtils.substringBetween(authorStr, "来源:", " ");
			}
		
			date=DateUtils.matchDate(doc.select("div.source").text());
		}
		if (StringUtils.isBlank(title) || date==null){	
		}
		news.setTitle(StringUtils.trimSpace(title));
		news.setContent(content);
		news.setAuthor(author);
		news.setDate(date);	
		news.setType(1);
		return news;
	}	
	public static void main(String[] args) {
		String url="http://stock.stockstar.com/notice/JC2014080100000756.shtml";
		StockstarNewsAnalyse analyse=new StockstarNewsAnalyse();		
		System.out.println(analyse.isDetailPage(url));
		UrlMeta meta=CrawlHTML.responseToURL(url);
		System.out.println(analyse.parserHtml(meta));
	}

	
	public NewsMeta Update(NewsMeta meta) {
		return null;
	}

	
	public boolean isNeedUpdate(){
		return false;
	}
}
